package 炫彩基类

import (
	common "gitee.com/go_888/xcgui/xcgui/common"
	"unsafe"
)

// TAB条_创建, 创建tabBar元素, 返回元素句柄.
//
//
//
//
//
// ff:TAB条_创建
// x:元素x坐标
// y:元素y坐标
// cx:宽度
// cy:高度
// hParent:父窗口句柄
func TAB条_创建(元素x坐标, 元素y坐标, 宽度, 高度 int32, 父窗口句柄 int) int {
	r, _, _ := xTabBar_Create.Call(uintptr(元素x坐标), uintptr(元素y坐标), uintptr(宽度), uintptr(高度), uintptr(父窗口句柄))
	return int(r)
}

// TAB条_添加标签, 添加一个标签, 返回标签索引.
//
//
// ff:TAB条_添加标签
// hEle:元素句柄
// pName:文本
func TAB条_添加标签(元素句柄 int, 文本 string) int32 {
	r, _, _ := xTabBar_AddLabel.Call(uintptr(元素句柄), common.X文本到uintptr(文本))
	return int32(r)
}

// TAB条插入_标签, 插入一个标签, 返回标签索引.
//
//
//
// ff:TAB条插入_标签
// hEle:元素句柄
// index:插入位置
// pName:文本
func TAB条插入_标签(元素句柄 int, 插入位置 int32, 文本 string) int32 {
	r, _, _ := xTabBar_InsertLabel.Call(uintptr(元素句柄), uintptr(插入位置), common.X文本到uintptr(文本))
	return int32(r)
}

// TAB条_移动标签.
//
//
//
// ff:TAB条_移动标签
// hEle:元素句柄
// iSrc:源位置索引
// iDest:目标位置索引
func TAB条_移动标签(元素句柄 int, 源位置索引, 目标位置索引 int32) bool {
	r, _, _ := xTabBar_MoveLabel.Call(uintptr(元素句柄), uintptr(源位置索引), uintptr(目标位置索引))
	return r != 0
}

// TAB条_删除标签, 删除一个标签.
//
//
// ff:TAB条_删除标签
// hEle:元素句柄
// index:位置索引
func TAB条_删除标签(元素句柄 int, 位置索引 int32) bool {
	r, _, _ := xTabBar_DeleteLabel.Call(uintptr(元素句柄), uintptr(位置索引))
	return r != 0
}

// TAB条_删除全部, 删除所有标签.
//
// ff:TAB条_删除全部
// hEle:元素句柄
func TAB条_删除全部(元素句柄 int) {
	xTabBar_DeleteLabelAll.Call(uintptr(元素句柄))
}

// TAB条_取标签, 获取标签按钮句柄.
//
//
// ff:TAB条_取标签
// hEle:元素句柄
// index:位置索引
func TAB条_取标签(元素句柄 int, 位置索引 int32) int {
	r, _, _ := xTabBar_GetLabel.Call(uintptr(元素句柄), uintptr(位置索引))
	return int(r)
}

// TAB条_取标签上的关闭按钮, 获取标签上关闭按钮句柄.
//
//
// ff:TAB条_取标签上的关闭按钮
// hEle:元素句柄
// index:位置索引
func TAB条_取标签上的关闭按钮(元素句柄 int, 位置索引 int32) int {
	r, _, _ := xTabBar_GetLabelClose.Call(uintptr(元素句柄), uintptr(位置索引))
	return int(r)
}

// TAB条_取左滚动按钮, 获取左滚动按钮句柄.
//
// ff:TAB条_取左滚动按钮
// hEle:元素句柄
func TAB条_取左滚动按钮(元素句柄 int) int {
	r, _, _ := xTabBar_GetButtonLeft.Call(uintptr(元素句柄))
	return int(r)
}

// TAB条_取右滚动按钮, 获取右滚动按钮句柄.
//
// ff:TAB条_取右滚动按钮
// hEle:元素句柄
func TAB条_取右滚动按钮(元素句柄 int) int {
	r, _, _ := xTabBar_GetButtonRight.Call(uintptr(元素句柄))
	return int(r)
}

// TAB条_取下拉菜单按钮句柄.
//
// ff:TAB条_取下拉菜单按钮句柄
// hEle:元素句柄
func TAB条_取下拉菜单按钮句柄(元素句柄 int) int {
	r, _, _ := xTabBar_GetButtonDropMenu.Call(uintptr(元素句柄))
	return int(r)
}

// TAB条_取当前选择, 获取选择的标签索引.
//
// ff:TAB条_取当前选择
// hEle:元素句柄
func TAB条_取当前选择(元素句柄 int) int32 {
	r, _, _ := xTabBar_GetSelect.Call(uintptr(元素句柄))
	return int32(r)
}

// TAB条_取间隔, 获取标签间距, 0没有间距.
//
// ff:TAB条_取间隔
// hEle:元素句柄
func TAB条_取间隔(元素句柄 int) int32 {
	r, _, _ := xTabBar_GetLabelSpacing.Call(uintptr(元素句柄))
	return int32(r)
}

// TAB条_取标签数量, 获取标签项数量.
//
// ff:TAB条_取标签数量
// hEle:元素句柄
func TAB条_取标签数量(元素句柄 int) int32 {
	r, _, _ := xTabBar_GetLabelCount.Call(uintptr(元素句柄))
	return int32(r)
}

// TAB条_取标签位置索引, 获取标签按钮位置索引, 成功返回索引值, 否则返回 XC_ID_ERROR.
//
//
// ff:TAB条_取标签位置索引
// hEle:元素句柄
// hLabel:标签按钮句柄
func TAB条_取标签位置索引(元素句柄 int, 标签按钮句柄 int) int32 {
	r, _, _ := xTabBar_GetindexByEle.Call(uintptr(元素句柄), uintptr(标签按钮句柄))
	return int32(r)
}

// TAB条_置间隔, 设置标签间距, 0没有间距.
//
//
// ff:TAB条_设置间隔
// hEle:元素句柄
// spacing:间隔
func TAB条_设置间隔(元素句柄 int, 间隔 int32) {
	xTabBar_SetLabelSpacing.Call(uintptr(元素句柄), uintptr(间隔))
}

// TAB条_置边距, 设置内容与边框的间隔大小.
//
//
//
//
//
// ff:TAB条_设置边距
// hEle:元素句柄
// left:左
// top:上
// right:右
// bottom:下
func TAB条_设置边距(元素句柄 int, 左, 上, 右, 下 int32) {
	xTabBar_SetPadding.Call(uintptr(元素句柄), uintptr(左), uintptr(上), uintptr(右), uintptr(下))
}

// TAB条_置选择, 设置选择标签.
//
//
// ff:TAB条_设置选择
// hEle:元素句柄
// index:索引
func TAB条_设置选择(元素句柄 int, 索引 int32) {
	xTabBar_SetSelect.Call(uintptr(元素句柄), uintptr(索引))
}

// TAB条_左滚动, 左按钮滚动.
//
// ff:TAB条_左滚动
// hEle:元素句柄
func TAB条_左滚动(元素句柄 int) {
	xTabBar_SetUp.Call(uintptr(元素句柄))
}

// TAB条_右滚动, 右按钮滚动.
//
// ff:TAB条_右滚动
// hEle:元素句柄
func TAB条_右滚动(元素句柄 int) {
	xTabBar_SetDown.Call(uintptr(元素句柄))
}

// TAB条_启用平铺, 平铺标签, 每个标签显示相同大小.
//
//
// ff:TAB条_启用平铺
// hEle:元素句柄
// bTile:是否启用
func TAB条_启用平铺(元素句柄 int, 是否启用 bool) {
	xTabBar_EnableTile.Call(uintptr(元素句柄), common.X布尔值到uintptr(是否启用))
}

// TAB条_启用下拉菜单按钮.
//
//
// ff:TAB条_启用下拉菜单按钮
// hEle:元素句柄
// bEnable:是否启用
func TAB条_启用下拉菜单按钮(元素句柄 int, 是否启用 bool) {
	xTabBar_EnableDropMenu.Call(uintptr(元素句柄), common.X布尔值到uintptr(是否启用))
}

// TAB条_启用标签带关闭按钮, 启用关闭标签功能.
//
//
// ff:TAB条_启用标签带关闭按钮
// hEle:元素句柄
// bEnable:是否启用
func TAB条_启用标签带关闭按钮(元素句柄 int, 是否启用 bool) {
	xTabBar_EnableClose.Call(uintptr(元素句柄), common.X布尔值到uintptr(是否启用))
}

// TAB条_置关闭按钮大小, 设置关闭按钮大小.
//
//
// ff:TAB条_设置关闭按钮大小
// hEle:元素句柄
// pSize:大小值
func TAB条_设置关闭按钮大小(元素句柄 int, 大小值 *X结构_大小) {
	xTabBar_SetCloseSize.Call(uintptr(元素句柄), uintptr(unsafe.Pointer(大小值)))
}

// TAB条_置滚动按钮大小.
//
//
// ff:TAB条_设置滚动按钮大小
// hEle:元素句柄
// pSize:大小值
func TAB条_设置滚动按钮大小(元素句柄 int, 大小值 *X结构_大小) {
	xTabBar_SetTurnButtonSize.Call(uintptr(元素句柄), uintptr(unsafe.Pointer(大小值)))
}

// TAB条_置指定标签固定宽度.
//
//
//
// ff:TAB条_设置指定标签固定宽度
// hEle:元素句柄
// index:索引
// nWidth:宽度
func TAB条_设置指定标签固定宽度(元素句柄 int, 索引, 宽度 int32) {
	xTabBar_SetLabelWidth.Call(uintptr(元素句柄), uintptr(索引), uintptr(宽度))
}

// TAB条_显示标签, 显示或隐藏指定标签.
//
//
//
// ff:TAB条_显示标签
// hEle:元素句柄
// index:标签索引
// bShow:是否显示
func TAB条_显示标签(元素句柄 int, 标签索引 int32, 是否显示 bool) bool {
	r, _, _ := xTabBar_ShowLabel.Call(uintptr(元素句柄), uintptr(标签索引), common.X布尔值到uintptr(是否显示))
	return r != 0
}
